#ifndef __I386_TSS_H__
#define __I386_TSS_H__

#include "linux/type.h"

struct  tss {
  uint32     backlink;
  uint32     esp0;   /* stack pointer to use during interrupt */
  uint32     ss0;    /*   "   segment  "  "    "        "     */
  uint32     esp1;
  uint32     ss1;
  uint32     esp2;
  uint32     ss2;
  uint32     cr3;
  uint32     eip;
  uint32     flags;
  uint32     eax;
  uint32     ecx;
  uint32     edx;
  uint32     ebx;
  uint32     esp;
  uint32     ebp;
  uint32     esi;
  uint32     edi;
  uint32     es;
  uint32     cs;
  uint32     ss;
  uint32     ds;
  uint32     fs;
  uint32     gs;
  uint32     ldt;
  uint16     trap;
  uint16     iobase; /* I/O位图基址大于或等于TSS段界限，就表示没有I/O许可位图 */
};

#endif // __I386_TSS_H__
